Spring框架的Bean管理:xml配置实现注入 和 注解实现注入,简述一点纯注解 |
您所在的位置:网站首页 › spring bean属性注入 › Spring框架的Bean管理:xml配置实现注入 和 注解实现注入,简述一点纯注解 |
本篇: 基于xml方式创建对象 xml配置实现注入:一般属性:(set方法实现 和 构造器方式实现 )注入, 特殊属性注入。 和 注解方式创建对象 注解实现注入 + 纯注解 ------------------------------------------------ 1.什么是Bean管理 bean管理指的是这两个操作:1.创建对象, 2.注入属性。 Bean管理操作的两种方式: 1.基于xml配置文件的方式实现, 2.基于注解方式实现。 基于xml配置文件的方式实现Bean管理和注入属性 1.基于xml方式创建对象:maven 项目创建,pom文件引入依赖 org.springframework spring-context 5.0.2.RELEASE commons-logging commons-logging 1.2 log4j log4j 1.2.12 junit junit 4.12 test2.编写Spring核心的配置文件,在resources目录下创建applicationContext.xml的配置文件,名称是可以任意的,但是一般都会使用默认名称(applicationContext.xml)。 3.在main 下的java目录下新建一个包,包中创建一个User类,一个Demo类,写点东西测试一下: Demo类里写一个输出hello的方法,User类里写:
test 里写一个 测试 ,注意导入: public class UserTest { @Test public void run(){ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); User user= (User) ac.getBean("user"); user.hello(); } }IOC和DI的概念 IOC:Inverse of Control,控制反转,将对象的创建权反转给Spring!! DI:Dependency Injection,依赖注入,就是注入属性 --------------------------------- 一般变量: 1.属性的set方法注入值 编写属性,提供该属性对应的set方法,编写配置文件完成属性值的注入 .给Uesr 类中的变量赋值: 在配置文件中直接就能赋值,在配置的扫描当中,注意 !其中demo是我们自己定义的Demo类型 测试 ---------------------------------------- 2.属性构造方法方式注入值 对于类成员变量,构造函数注入。 User 里写一个构造器: 配置文件中: 测试类中不变, 运行: --------------------------------以上为给一些一般的变量赋值--------------------------------------------- -----------------------------给特殊变量 赋值:数组,List集合 ,map集合 新建CollectionBean类 。生成set,get,toString方法: public class CollectionBean { public String[] strs; private List list; private Map map; //key,value形式 public String[] getStrs() { return strs; } public void setStrs(String[] strs) { this.strs = strs; } public List getList() { return list; } public void setList(List list) { this.list = list; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } @Override public String toString() { return "CollectionBean{" + "strs=" + Arrays.toString(strs) + ", list=" + list + ", map=" + map + '}'; } }配置文件: 在里面写: A B C D 1 2 3test中创建个类 测试一下 public class CollectionTest { @Test public void run(){ ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); CollectionBean collection= (CollectionBean) ac.getBean("collection"); System.out.println(collection.toString()); } }基于注解的方式实现Bean管理和注入属性
1.什么是注解 ①:注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值...) ②:使用注解,注解作用在类上面,方法上面,属性上边 ③:使用注解的目的:简化XML配置 2.Spring针对Bean管理中创建对象提供的注解 @Component 普通的类 @Controller 表现层 @Service 业务层 @Repository 持久层 *上边四个功能一样,都可以用来创建bean实例 用注解的方式创建对象有四个注解都能创建对象,分别是: @Component :普通类,@Controller:表现层,@Service:业务层,@Repository:持久层在Demo类中试试,用哪个也行: 配置文件中 配置的扫描不再用标签,而是: 通过扫描注解的方式,实现对类的加载 test写个类 测试调用一下,还是那样写: public class DemoTest { //spring @Test public void run1(){ BeanFactory ac=new ClassPathXmlApplicationContext("applicationContext.xml"); Demo demo= (Demo) ac.getBean("demo"); demo.hello(); } }
User中: 测试类中不变: 得 看到注解很简单不用怎么配置,但是能不能,完全不用配置文件。连 这句话,都不用写。那就是纯注解开发。下方 IOC纯注解的方式 纯注解的方式是微服务架构开发的主要方式,所以也是非常的重要。纯注解的目的是替换掉所有的配置文件。但是需要编写配置类。 常用的注解总结 @Configuration 声明是配置类@ComponentScan 扫描具体包结构的小例子: 在 main -->java--->下新建一个包:叫com.config吧,在里边新建 SpringConfig类:编写(写两个注解): @Configuration//声明配置类 @ComponentScan(value = "com.qcby") //扫描具体的包 public class SpringConfig { }在测试类中写个方法试试: 得,照样可以出来:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |